function add(a,b){
    return a+b 
}

// var addOne = add.bind(null,1)
// addOne(2)

var addOne = add.partial(add,1)
addOne(2)//3

function partial(fn){
    var args = [].slice.call(arguments,1)
    return function(){
        var newArgs =args.concat([].slice.call(arguments))
        fn.apply(this,newArgs)
    }
}